package cn.ekuma.rabbit.spi;

import java.util.List;

import net.xeoh.plugins.base.Plugin;

import com.openbravo.data.basic.BasicException;
import com.openbravo.pos.base.BeanFactoryException;

import cn.ekuma.rabbit.ModelManager;
import cn.ekuma.security.I_SecurityManager;

public interface I_Model extends Plugin{
	
	public String getModelName();
	
	public String getModelDescription();
	
	public List<String> getModelDependents();

	public I_SecurityManager getModelSecurityManager();
	
	public void init(ModelManager manager) throws BasicException;;
	
	public boolean isAble();
	
	public Object getBean(String beanfactory) throws BeanFactoryException;
	
	public String getVersion();
	
	public ModelManager getManager();
	
	
	//command
	public boolean isCommandSupt(String commandName);
	
	
	public void  execCommand(I_ModelCommand mode);
	
}
